1
Lezione 7: Introduzione ai Moduli Python
EvoClass-AI001Lecture 7
00:00

Introduzione ai Moduli Python

In Python, un modulo è un file che termina con .pyche funge da contenitore per componenti di codice riutilizzabili (funzioni, classi, variabili). I moduli sono la pietra angolare dell'architettura dei programmi su larga scala, consentendo agli sviluppatori di gestire la complessità e migliorare la manutenzione del codice separando logicamente le definizioni. Questo processo è simile a come i concetti matematici vengono suddivisi in campi specializzati (ad esempio, $f(x)$ è definito in un dominio specifico $D$).

1. Lo scopo del modulo

I moduli rispondono a tre esigenze fondamentali nello sviluppo:

  • Promuovendo riutilizzo del codicein molti progetti senza dover riscrivere le definizioni.
  • Garantendo chiarezza e organizzazione suddividendo i grandi programmi in file gestibili e correlati.
  • Evitando conflitti di nomidefinendo spazi dei nomi separati per funzioni e variabili.

Esempio concettuale:

Immagina di avere un file chiamato utility.pycontenente funzioni per calcolare risultati matematici. Tutto questo file è il modulo, e queste funzioni ne sono il contenuto accessibile.

2. Metodi di importazione

L'istruzione Python importarende disponibili alle tue definizioni esterne al tuo script corrente. Il metodo scelto determina come accedi ai componenti e come viene influenzato lo spazio dei nomi del programma corrente.

  • Importazione standard:importa nome_modulo. Richiede l'accesso al contenuto tramite nome_modulo.funzione().
  • Importazione selettiva:da modulo importa funzione. Permette l'uso diretto di funzione()senza il prefisso del modulo.
  • Importazione con alias:importa modulo comealias. Fornisce un soprannome più breve e specifico del progetto per comodità (ad esempio, importa numpy come np).
Focus sulla Libreria Standard
Python include una vasta Libreria Standarddi moduli predefiniti (come 'os', 'sys', 'random', 'math'). Imparare ad utilizzare questi moduli riutilizzabili è essenziale per uno sviluppo efficiente e risparmia molto tempo.
Question 1
If you use import math, how must you call the sqrt function to calculate $\sqrt{25}$?
sqrt(25)
math.sqrt(25)
math::sqrt(25)
use math sqrt
Question 2
Which benefit of using modules addresses the issue of having multiple functions named process_data in a large application?
Code execution speed
Preventing Naming Collisions
Automatic debugging
Question 3
What happens to a module file the second time you attempt to import it in the same running program?
It is imported again, executing all top-level code.
The import fails with an error.
Python recognizes it is already loaded and skips execution.
Only variables are reloaded.